package edu.wpi.first.wpilibj.templates;

import Team102Lib.*;
import edu.wpi.first.wpilibj.DriverStationLCD;

/**
 * The RobotMap is a mapping from the ports sensors and actuators are wired into
 * to a variable name. This provides flexibility changing wiring, makes checking
 * the wiring easier and significantly reduces the number of magic numbers
 * floating around.
 */
public class RobotMap {
    // PWM Ports
    public static final int jaguar1Port = 1;
    public static final int jaguar2Port = 2;
    public static final int victor1Port = 3;
    public static final int victor2Port = 4;
    public static final int victor3Port = 5;
    public static final int talon1Port = 6;

    // Analog Input Ports
//    public static final int gyroPort = 1;
//    public static final int ultrasonic = 2;

    // Joystick Setup
    public static final double joystickRange = 1.0d;    // the range of the joystick around 0.0
    public static final double flatDeadband = 0.02d;    // The amount of flat space in the deadband (around 0.0)
    public static Deadband stickDeadBand = null;        // Used to create a smooth deadband for the stick.
    public static final double twistCorrection = +0.00;

    //Digital Input / Outputs
//    public static final int winchEncoderPortA = 2;
//    public static final int winchEncoderPortB = 4;
//    public static final int compressorSensorChannel = 1;
//    public static final int zeroSensorPort = 3;
//    

// Relay Ports
//    public static final int compressorSwitchChannel = 1;
//    public static final int cameraLightsSwitchChannel = 8;

// Solenoid Module
    public static final int solenoidModule = 2;     // this is in slot 4 of the cRIO

// Solenoid ports
    // NOTE: these are not good names, but since the Test Bed hardware has no specific purpose, these are fine.
    public static final int solenoidPort1 = 1;
    public static final int solenoidPort2 = 2;
    public static final int solenoidPort3 = 3;
    public static final int solenoidPort4 = 4;
    public static final int solenoidPort5 = 5;
    public static final int solenoidPort6 = 6;
    public static final int solenoidPort7 = 7;
    public static final int solenoidPort8 = 8;

    
    // XBox Controller Button Indexes
    public static final int xBoxAIndex = 1;
    public static final int xBoxBIndex = 2;
    public static final int xBoxXIndex = 3;
    public static final int xBoxYIndex = 4;
    public static final int xBoxLeftBumperIndex = 5;
    public static final int xBoxRightBumperIndex = 6;
    public static final int xBoxBackButtonIndex = 7;
    public static final int xBoxStartButtonIndex = 8;
    
    
    // XBox Controller Joystick Axis
    public static final int xBoxLeftXAxis = 1;
    public static final int xBoxLeftYAxis = 2;
    public static final int xBoxTriggerAxis = 3;  // Left trigger 0.0-0.5, right trigger 0.5-1.0
    public static final int xBoxRightXAxis = 4;    
    public static final int xBoxRightYAxis = 5;
    public static final int xBoxDPadHorizontalAxis = 6;
    
}
